home *** CD-ROM | disk | FTP | other *** search
/ PC Play 129 / pc play 129.iso / Demo / man2 / man2.exe / data / scripts / camera_scripts.lua < prev    next >
Encoding:
Text File  |  2005-02-11  |  3.5 KB  |  122 lines

  1.  
  2. function camera_setup()
  3.     units_setup(5,false,ENET_EFFECT_PS_SETUPSMOKE_SMALL)
  4. end
  5.  
  6. function camera_resetup()
  7.     units_setup(5,false)
  8. end
  9.  
  10. function camera_select()
  11.     units_select(22,1)
  12. end
  13.  
  14. function camera_unselect()
  15.     units_unselect()
  16. end
  17.  
  18. function camera_selectenemy()
  19.     uniGetExecutor():addSimpleEffect(ENET_EFFECT_SELECTEDGEOMETRY_ENEMY)
  20. end
  21.  
  22. function camera_damaged()
  23.     waitDeath(uniGetExecutor():addMoveEffect(ENET_EFFECT_MOVE_CAMERA_4FIRE,400))
  24. end
  25.  
  26. function calculate_position(flier,target,distance)
  27.     local t_pos = target:getWorldPosition()
  28.     local f_pos = flier:getWorldPosition()
  29.     local fwd = D3DXVECTOR3:new(t_pos.x - f_pos.x,t_pos.y - f_pos.y,t_pos.z - f_pos.z)
  30.     local mag = math.sqrt(fwd.x*fwd.x + fwd.y*fwd.y + fwd.z*fwd.z)
  31.     fwd.x = fwd.x / mag
  32.     fwd.y = fwd.y / mag
  33.     fwd.z = fwd.z / mag
  34.     t_pos.x = t_pos.x - distance * fwd.x
  35.     t_pos.y = t_pos.y - distance * fwd.y
  36.     t_pos.z = t_pos.z - distance * fwd.z
  37.     fwd:delete()
  38.     return t_pos
  39. end
  40.  
  41. function camera_explode()
  42.     pause(1.5)
  43.  
  44.     local camera = uniGetExecutor()
  45.     local unit = uniGetTarget()    
  46.     local pos = unit:getWorldPosition()
  47.     local dummy = createWorldEffect(ENET_EFFECT_DUMMY,0,0)
  48.  
  49.     local dummyHolder = enHolder:new(dummy,HT_DESTROYER)
  50.  
  51.     local npos = calculate_position( camera, unit, 200 + rand(-50,50) )
  52.     dummy:setLocalPosition( npos.x,npos.y,npos.z )    
  53.     waitDeath( camera:addMoveEffect(ENET_EFFECT_MOVE_LINEARFLYTOOWNER,800,dummy) )
  54.     
  55.     while ( unit:getLife() > 0.0001 ) do
  56.         pause()
  57.     end
  58.     
  59.     timeScale = GetTimeScale()
  60.     SetTimeScale( 0.2 + rand(0.0,0.1) )
  61.  
  62.     dummy:setLocalPosition( pos.x,pos.y,pos.z )    
  63.     camera:setTransformOwner(dummy)    
  64.     local time = 2
  65.     local tr;
  66.     if ( rand(0,2) < 1 ) then
  67.         if ( rand(0,2) > 1 ) then
  68.             tr = dummy:addRotationEffect(ENET_EFFECT_ROTATE_RADAR,2*MATH_PI/time)
  69.         else
  70.             tr = dummy:addRotationEffect(ENET_EFFECT_ROTATE_RADAR,-2*MATH_PI/time)
  71.         end
  72.     end
  73.  
  74.     local trHolder
  75.     if ( tr ) then
  76.         trHolder = enHolder:new(tr,HT_DESTROYER)
  77.     end
  78.  
  79.     pause(time)
  80.     camera:setTransformOwner()
  81.  
  82.     SetTimeScale( timeScale, 2 )
  83. end
  84.  
  85. function camera_move()
  86. --    waitDeath(uniGetExecutor():addMoveEffect(ENET_EFFECT_MOVE_LINEAR_HERMITE,400))
  87.     waitDeath(uniGetExecutor():addMoveEffect(ENET_EFFECT_MOVE_CAMERATOUNIT,400))
  88. end
  89.  
  90. function camera_prepare()
  91.     waitDeath(uniGetExecutor():addMoveEffect(ENET_EFFECT_MOVE_CAMERATOUNIT_2FANCY,400))
  92. end
  93.  
  94. function camera_fire()
  95.     local unit = uniGetExecutor()
  96.     waitDeath(unit:addMoveEffect(ENET_EFFECT_MOVE_CAMERATOPOSITIONANDORIENTATION,400))
  97.     pause(0.3)
  98. end
  99.  
  100. function camera_fire2()
  101.     local camera = uniGetExecutor()
  102.     waitDeath(camera:addMoveEffect(ENET_EFFECT_MOVE_CAMERATOPOSITIONANDORIENTATION,400))
  103. end
  104.  
  105. function camera_transfer()
  106.     waitDeath(uniGetExecutor():addMoveEffect(ENET_EFFECT_MOVE_LINEAR_HERMITE,uniGetLife()))
  107. end
  108.  
  109.  
  110. registerCommand(ENSCRIPTSET_CAMERA,ENC_MOVE,"camera_move")
  111. registerCommand(ENSCRIPTSET_CAMERA,ENC_FIRE1,"camera_fire")
  112. registerCommand(ENSCRIPTSET_CAMERA,ENC_FIRE2,"camera_fire2")
  113. registerCommand(ENSCRIPTSET_CAMERA,ENC_SELECT,"camera_select")
  114. registerCommand(ENSCRIPTSET_CAMERA,ENC_SELECTENEMY,"camera_selectenemy")
  115. registerCommand(ENSCRIPTSET_CAMERA,ENC_UNSELECT,"camera_unselect")
  116. registerCommand(ENSCRIPTSET_CAMERA,ENC_SETUP,"camera_setup")
  117. registerCommand(ENSCRIPTSET_CAMERA,ENC_RESETUP,"camera_resetup")
  118. registerCommand(ENSCRIPTSET_CAMERA,ENC_DAMAGED,"camera_damaged")
  119. registerCommand(ENSCRIPTSET_CAMERA,ENC_EXPLODE,"camera_explode")
  120. registerCommand(ENSCRIPTSET_CAMERA,ENC_HIGHLIGHT,"camera_prepare")
  121. registerCommand(ENSCRIPTSET_CAMERA,ENC_TRANSFER,"camera_transfer")
  122.